package com.drink.yan.intf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meta.framework.copy.Copyable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * java类简单作用描述
 *
 * @Title:
 * @Package: com.drink.yan.intf.entity.
 * @Author: M.simple
 * @Remark: The modified content
 * @CreateDate: 2023/11/24 20:41
 * @Version: v2.0
 */
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "yan_user_bind", autoResultMap = true)
@Builder
@Data
public class YanUserBind extends Copyable {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("活动：activity, 代理：agency 辅导员：counselor 老师：teacher")
    private String bindType;

    @TableField(value = "business_key")
    @ApiModelProperty("业务标识，bindType为activity时，需要传入")
    private String businessKey;

    private Long bindUid;

    private Long targetUid;

    private String bindStatus;

    private Long checkBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime checkTime;

    private String delFlag;

    private Long createBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    private Long updateBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;

    private String remark;
}
